import("//llvm/utils/TableGen/tablegen.gni")

tablegen("COFFOptions") {
  visibility = [ ":JITLink" ]
  args = [ "-gen-opt-parser-defs" ]
}

static_library("JITLink") {
  output_name = "LLVMJITLink"
  deps = [
    ":COFFOptions",
    "//llvm/lib/BinaryFormat",
    "//llvm/lib/ExecutionEngine/Orc/Shared",
    "//llvm/lib/Object",
    "//llvm/lib/Option",
    "//llvm/lib/Support",
    "//llvm/lib/TargetParser",
  ]
  sources = [
    "COFF.cpp",
    "COFFDirectiveParser.cpp",
    "COFFLinkGraphBuilder.cpp",
    "COFF_x86_64.cpp",
    "DWARFRecordSectionSplitter.cpp",
    "EHFrameSupport.cpp",
    "ELF.cpp",
    "ELFLinkGraphBuilder.cpp",
    "ELF_aarch32.cpp",
    "ELF_aarch64.cpp",
    "ELF_i386.cpp",
    "ELF_loongarch.cpp",
    "ELF_riscv.cpp",
    "ELF_x86_64.cpp",
    "JITLink.cpp",
    "JITLinkGeneric.cpp",
    "JITLinkMemoryManager.cpp",
    "MachO.cpp",
    "MachOLinkGraphBuilder.cpp",
    "MachO_arm64.cpp",
    "MachO_x86_64.cpp",
    "aarch32.cpp",
    "aarch64.cpp",
    "i386.cpp",
    "loongarch.cpp",
    "riscv.cpp",
    "x86_64.cpp",
  ]
}
